home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_config.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  10KB  |  309 lines

  1. /*
  2.  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  3.  */
  4. #ifdef E_TYPEDEFS
  5.  
  6. #define E_CONFIG_DD_NEW(str, typ) \
  7.    e_config_descriptor_new(str, sizeof(typ))
  8. #define E_CONFIG_DD_FREE(eed) if (eed) { eet_data_descriptor_free((eed)); (eed) = NULL; }
  9. #define E_CONFIG_VAL(edd, type, member, dtype) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, type, #member, member, dtype)
  10. #define E_CONFIG_SUB(edd, type, member, eddtype) EET_DATA_DESCRIPTOR_ADD_SUB(edd, type, #member, member, eddtype)
  11. #define E_CONFIG_LIST(edd, type, member, eddtype) EET_DATA_DESCRIPTOR_ADD_LIST(edd, type, #member, member, eddtype)
  12.  
  13. #define CHAR   EET_T_CHAR
  14. #define SHORT  EET_T_SHORT
  15. #define INT    EET_T_INT
  16. #define LL     EET_T_LONG_LONG
  17. #define FLOAT  EET_T_FLOAT
  18. #define DOUBLE EET_T_DOUBLE
  19. #define UCHAR  EET_T_UCHAR
  20. #define USHORT EET_T_USHORT
  21. #define UINT   EET_T_UINT
  22. #define ULL    EET_T_ULONG_LONG
  23. #define STR    EET_T_STRING
  24.  
  25. #define E_CONFIG_LIMIT(v, min, max) {if (v > max) v = max; else if (v < min) v = min;}
  26.  
  27. typedef struct _E_Config                    E_Config;
  28. typedef struct _E_Config_Module             E_Config_Module;
  29. typedef struct _E_Config_Theme              E_Config_Theme;
  30. typedef struct _E_Config_Binding_Mouse      E_Config_Binding_Mouse;
  31. typedef struct _E_Config_Binding_Key        E_Config_Binding_Key;
  32. typedef struct _E_Config_Binding_Signal     E_Config_Binding_Signal;
  33. typedef struct _E_Config_Binding_Wheel      E_Config_Binding_Wheel;
  34. typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
  35. typedef struct _E_Config_Desktop_Name       E_Config_Desktop_Name;
  36. typedef Eet_Data_Descriptor                 E_Config_DD;
  37.  
  38. #else
  39. #ifndef E_CONFIG_H
  40. #define E_CONFIG_H
  41.  
  42. /* increment this whenever we change config enough that you need new 
  43.  * defaults for e to work - started at 100 when we introduced this config
  44.  * versioning feature. the value of this is really irrelevant - just as
  45.  * long as it increases every time we change something
  46.  */
  47. #define E_CONFIG_FILE_VERSION 134
  48.  
  49. #define E_EVAS_ENGINE_DEFAULT      0
  50. #define E_EVAS_ENGINE_SOFTWARE_X11 1
  51. #define E_EVAS_ENGINE_GL_X11       2
  52. #define E_EVAS_ENGINE_XRENDER_X11  3
  53.  
  54. typedef enum _E_Engine_Context
  55. {
  56.    E_ENGINE_CONTEXT_INIT,
  57.    E_ENGINE_CONTEXT_CONTAINER,
  58.    E_ENGINE_CONTEXT_ZONE,
  59.    E_ENGINE_CONTEXT_BORDER,
  60.    E_ENGINE_CONTEXT_MENU,
  61.    E_ENGINE_CONTEXT_ERROR,
  62.    E_ENGINE_CONTEXT_WIN,
  63.    E_ENGINE_CONTEXT_POPUP,
  64.    E_ENGINE_CONTEXT_DRAG
  65. } E_Engine_Context;
  66.  
  67. struct _E_Config
  68. {
  69.    int         config_version;
  70.    int         show_splash; //GUI
  71.    char       *desktop_default_background;
  72.    Evas_List  *desktop_backgrounds;
  73.    char       *desktop_default_name;
  74.    Evas_List  *desktop_names;
  75.    double      menus_scroll_speed; // GUI
  76.    double      menus_fast_mouse_move_threshhold; // GUI
  77.    double      menus_click_drag_timeout; // GUI
  78.    int         border_shade_animate; // GUI
  79.    int         border_shade_transition; // GUI
  80.    double      border_shade_speed; // GUI
  81.    double      framerate; //GUI
  82.    int         image_cache; //GUI
  83.    int         font_cache; //GUI
  84.    int         edje_cache; //GUI
  85.    int         edje_collection_cache; //GUI
  86.    double      cache_flush_interval; //GUI
  87.    int         zone_desks_x_count;
  88.    int         zone_desks_y_count;
  89.    int         use_virtual_roots;
  90.    int         use_edge_flip;
  91.    double      edge_flip_timeout;
  92.    int         evas_engine_default;
  93.    int         evas_engine_container;
  94.    int         evas_engine_init;
  95.    int         evas_engine_menus;
  96.    int         evas_engine_borders;
  97.    int         evas_engine_errors;
  98.    int         evas_engine_popups;
  99.    int         evas_engine_drag;
  100.    int         evas_engine_win;
  101.    int         evas_engine_zone;
  102.    char       *language;
  103.    Evas_List  *modules;
  104.    Evas_List  *font_fallbacks;
  105.    Evas_List  *font_defaults;
  106.    Evas_List  *themes;
  107.    Evas_List  *mouse_bindings;
  108.    Evas_List  *key_bindings;
  109.    Evas_List  *signal_bindings;
  110.    Evas_List  *wheel_bindings;
  111.    Evas_List  *path_append_data;
  112.    Evas_List  *path_append_images;
  113.    Evas_List  *path_append_fonts;
  114.    Evas_List  *path_append_themes;
  115.    Evas_List  *path_append_init;
  116.    Evas_List  *path_append_icons;
  117.    Evas_List  *path_append_modules;
  118.    Evas_List  *path_append_backgrounds;
  119.    Evas_List  *path_append_input_methods;
  120.    Evas_List  *path_append_messages;
  121.    int         window_placement_policy; //
  122.    int         focus_policy; // GUI
  123.    int         focus_setting; // GUI
  124.    int         pass_click_on; // GUI
  125.    int         always_click_to_raise; // GUI
  126.    int         always_click_to_focus; // GUI
  127.    int         use_auto_raise; // GUI
  128.    double      auto_raise_delay; // GUI
  129.    int         use_resist; // GUI
  130.    int         drag_resist;
  131.    int         desk_resist; // GUI
  132.    int         window_resist; // GUI
  133.    int         gadget_resist; // GUI
  134.    int         winlist_warp_while_selecting; // GUI
  135.    int         winlist_warp_at_end; // GUI
  136.    double      winlist_warp_speed; // GUI
  137.    int         winlist_scroll_animate; // GUI
  138.    double      winlist_scroll_speed; // GUI
  139.    int         winlist_list_show_iconified; // GUI
  140.    int         winlist_list_show_other_desk_windows; // GUI
  141.    int         winlist_list_show_other_screen_windows; // GUI
  142.    int         winlist_list_uncover_while_selecting; // GUI
  143.    int         winlist_list_jump_desk_while_selecting; // GUI
  144.    int         winlist_list_focus_while_selecting; // GUI
  145.    int         winlist_list_raise_while_selecting; // GUI
  146.    double      winlist_pos_align_x; // GUI
  147.    double      winlist_pos_align_y; // GUI
  148.    double      winlist_pos_size_w; // GUI
  149.    double      winlist_pos_size_h; // GUI
  150.    int         winlist_pos_min_w; // GUI
  151.    int         winlist_pos_min_h; // GUI
  152.    int         winlist_pos_max_w; // GUI
  153.    int         winlist_pos_max_h; // GUI
  154.    int         maximize_policy; // GUI
  155.    int         allow_shading; // GUI
  156.    int         kill_if_close_not_possible;
  157.    int         kill_process;
  158.    double      kill_timer_wait;
  159.    int         ping_clients;
  160.    double      ping_clients_wait;
  161.    char       *transition_start;
  162.    char       *transition_desk;
  163.    char       *transition_change;
  164.    Evas_List  *remembers;
  165.    int         move_info_follows; // GUI
  166.    int         resize_info_follows; // GUI
  167.    int         move_info_visible; // GUI
  168.    int         resize_info_visible; // GUI
  169.    int         focus_last_focused_per_desktop;
  170.    int         focus_revert_on_hide_or_close;
  171.    int         use_e_cursor; // GUI
  172.    int         cursor_size; //GUI
  173.    int         menu_autoscroll_margin; // GUI
  174.    int         menu_autoscroll_cursor_margin; // GUI
  175.    char          *input_method;
  176.    struct {
  177.     int    move;
  178.     int    resize;
  179.     int    raise;
  180.     int    lower;
  181.     int    layer;
  182.     int    desktop;
  183.     int    iconify;
  184.    } transient;
  185.    int         modal_windows;
  186.    int         menu_eap_name_show; // GUI
  187.    int         menu_eap_generic_show; // GUI
  188.    int         menu_eap_comment_show; // GUI
  189.    int         fullscreen_policy;
  190.    int         exebuf_max_exe_list;
  191.    int         exebuf_max_eap_list;
  192.    int         exebuf_scroll_animate;
  193.    double      exebuf_scroll_speed;
  194.    double      exebuf_pos_align_x;
  195.    double      exebuf_pos_align_y;
  196.    double      exebuf_pos_size_w;
  197.    double      exebuf_pos_size_h;
  198.    int         exebuf_pos_min_w;
  199.    int         exebuf_pos_min_h;
  200.    int         exebuf_pos_max_w;
  201.    int         exebuf_pos_max_h;
  202. };
  203.  
  204. struct _E_Config_Module
  205. {
  206.    char          *name;
  207.    unsigned char  enabled;
  208. };
  209.  
  210. struct _E_Config_Theme
  211. {
  212.    char          *category;
  213.    char          *file;
  214. };
  215.  
  216. struct _E_Config_Binding_Mouse
  217. {
  218.    int            context;
  219.    int            modifiers;
  220.    char          *action;
  221.    char          *params;
  222.    unsigned char  button;
  223.    unsigned char  any_mod;
  224. };
  225.  
  226. struct _E_Config_Binding_Key
  227. {
  228.    int            context;
  229.    int            modifiers;
  230.    char          *key;
  231.    char          *action;
  232.    char          *params;
  233.    unsigned char  any_mod;
  234. };
  235.  
  236. struct _E_Config_Binding_Signal
  237. {
  238.    int            context;
  239.    char          *signal;
  240.    char          *source;
  241.    int            modifiers;
  242.    unsigned char  any_mod;
  243.    char          *action;
  244.    char          *params;
  245. };
  246.  
  247. struct _E_Config_Binding_Wheel
  248. {
  249.    int            context;
  250.    int            direction;
  251.    int            z;
  252.    int            modifiers;
  253.    unsigned char  any_mod;
  254.    char          *action;
  255.    char          *params;
  256. };
  257.  
  258. struct _E_Config_Desktop_Background
  259. {
  260.    int            container;
  261.    int            zone;
  262.    int            desk_x;
  263.    int            desk_y;
  264.    char          *file;
  265. };
  266.  
  267. struct _E_Config_Desktop_Name
  268. {
  269.    int            container;
  270.    int            zone;
  271.    int            desk_x;
  272.    int            desk_y;
  273.    char          *name;
  274. };
  275.  
  276. EAPI int        e_config_init(void);
  277. EAPI int        e_config_shutdown(void);
  278.  
  279. EAPI E_Config_DD *e_config_descriptor_new(const char *name, int size);
  280.  
  281. EAPI int        e_config_save(void);
  282. EAPI void       e_config_save_flush(void);
  283. EAPI void       e_config_save_queue(void);
  284.  
  285. EAPI char      *e_config_profile_get(void);
  286. EAPI void       e_config_profile_set(char *prof);
  287. EAPI Evas_List *e_config_profile_list(void);
  288. EAPI void       e_config_profile_add(char *prof);
  289. EAPI void       e_config_profile_del(char *prof);
  290.  
  291. EAPI Evas_List *e_config_engine_list(void);
  292.  
  293. EAPI void       e_config_save_block_set(int block);
  294. EAPI int        e_config_save_block_get(void);
  295.     
  296. EAPI void      *e_config_domain_load(char *domain, E_Config_DD *edd);
  297. EAPI int        e_config_profile_save(void);
  298. EAPI int        e_config_domain_save(char *domain, E_Config_DD *edd, void *data);
  299.  
  300. EAPI E_Config_Binding_Mouse  *e_config_binding_mouse_match(E_Config_Binding_Mouse *eb_in);
  301. EAPI E_Config_Binding_Key    *e_config_binding_key_match(E_Config_Binding_Key *eb_in);
  302. EAPI E_Config_Binding_Signal *e_config_binding_signal_match(E_Config_Binding_Signal *eb_in);
  303. EAPI E_Config_Binding_Wheel  *e_config_binding_wheel_match(E_Config_Binding_Wheel *eb_in);
  304.     
  305. extern EAPI E_Config *e_config;
  306.  
  307. #endif
  308. #endif
  309.